package br.com.infoanalise.jsf.pety.managedbean;

import java.util.List;

import javax.inject.Inject;
import javax.inject.Named;

import org.springframework.context.annotation.Scope;

import br.com.infoanalise.jsf.pety.repository.JogadorRepository;
import br.com.infoanalise.jsf.pety.repository.SelecaoRepository;
import br.com.infoanalise.pety.domain.Jogador;
import br.com.infoanalise.pety.domain.Selecao;

@Named
@Scope("request")
public class JogadorBean {

	@Inject
	private JogadorRepository jogadorRepository;

	@Inject
	private SelecaoRepository selecaoRepository;

	private Jogador jogador = new Jogador();

	private Long selecaoID;

	private List<Jogador> jogadores;

	public void adiciona() {
		Selecao selecao = selecaoRepository.findByPrimaryKey(this.selecaoID);
		this.jogador.setSelecao(selecao);
		jogadorRepository.save(this.jogador);
		this.jogador = new Jogador();
		this.jogadores = null;
	}

	public void remove(Jogador jogador) {
		jogadorRepository.remove(jogador);
		this.jogadores = null;
	}

	public List<Jogador> getJogadores() {
		if (this.jogadores == null) {
			System.out.println("CHAMANDO O REPOSITORIO");
			this.jogadores = jogadorRepository.getAll();
		}
		return this.jogadores;
	}

	public Jogador getJogador() {
		return jogador;
	}

	public void setJogador(Jogador jogador) {
		this.jogador = jogador;
	}

	public Long getSelecaoID() {
		return selecaoID;
	}

	public void setSelecaoID(Long selecaoID) {
		this.selecaoID = selecaoID;
	}

	public void setJogadores(List<Jogador> jogadores) {
		this.jogadores = jogadores;
	}

}
